循環神經網絡(Recurrent Neural Network,RNN),主要用於處理序列數據,如時間序列、自然語言處理等,因為RNN前面的輸入和後面的輸入有關連性,因此適合翻譯、氣象預測、股票分析等等。
循環神經網路主要分為三種模型,Simple RNN和LSTM和GRU:
簡單循環神經網絡(Simple RNN)
Simple RNN 是最基本的循環神經網絡,其結構相對簡單。在每個時間步,Simple RNN 接受當前輸入和先前時間步的隱藏狀態,然後生成新的隱藏狀態和輸出。
優點:雖然Simple RNN的能力有限,但它仍然可用於簡單的序列建模,例如簡單的語言建模和時間序列預測。
長短時記憶網絡(LSTM)
LSTM 是一種改進的RNN變種,它引入了門控機制以解決梯度消失問題。LSTM具有三個主要的門:遺忘門(Forget gate)、輸入門(Input gate)和輸出門(Output gate),以控制信息的流動。這使得LSTM能夠更好地捕捉長期相依性。
優點:LSTM非常適合處理長序列,能夠有效地記住和利用長期的上下文,因此在NLP和時間序列預測等領域中廣泛應用。
門控循環單元(GRU)
GRU也是一種改進的RNN變種,相對於LSTM,它結構更簡單,只有兩個主要的門:更新門(Update Gate)和重置門(Reset Gate)。GRU的設計旨在簡化LSTM,同時保留良好的長期相依性建模能力。
優點:GRU在一些任務上與LSTM性能相當,但具有更少的參數和計算成本,因此在某些情況下更具吸引力。
梯度消失
RNN有一個非常致命的缺點,很容易梯度消失。神經網絡反向傳播中,當梯度從後往前傳時,梯度不斷減小,最後變為零,此時,淺層的神經網絡權重得不到更新,那麼前面隱藏層的學習速率低於後面隱藏層的學習速率,即隨著隱藏層數目的增加,分類準確率反而下降了。這種現象叫做梯度消失。
---20231005---